//package net.lzzy.practices.services;
//
//import net.lzzy.practices.constants.Messages;
//import net.lzzy.practices.entities.Question;
//import net.lzzy.practices.repositonies.ChapterRepository;
//import net.lzzy.practices.repositonies.OptionReposutory;
//import net.lzzy.practices.repositonies.QuestionRepository;
//import net.lzzy.practices.utils.StringUtil;
//import org.springframework.data.domain.PageRequest;
//import org.springframework.data.domain.Pageable;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//import java.util.UUID;
///**
// * @author m
// */
//@Service
//public class QuestionServiceImpl implements QuestionService{
//    private  final QuestionRepository questionRepository;
//
//    private  final ChapterRepository chapterRepository;
//
//    private  final OptionReposutory optionReposutory;
//
//    public QuestionServiceImpl(QuestionRepository questionRepository, ChapterRepository chapterRepository, OptionReposutory optionReposutory) {
//        this.questionRepository = questionRepository;
//        this.chapterRepository = chapterRepository;
//        this.optionReposutory = optionReposutory;
//    }
//
//    /**
//     * @param id
//     * @return
//     */
//    @Override
//    public Integer countBy(UUID id) {
//        return questionRepository.countAllByChapterId(id);
//    }
//
//    /**
//     * @param id
//     * @param page
//     * @return
//     */
//    @Override
//    public List<Question> get(UUID id, int page,int size) {
//        return questionRepository.findQuestionsByChapterIdOrderByOrdinal(id, PageRequest.of(page,size));
//    }
//
//    /**
//     * @param id
//     * @return
//     */
//    @Override
//    public List<Question> get(UUID id) {
//        return questionRepository.findQuestionsByChapterIdOrderByOrdinal(id);
//    }
//
//    /**
//     * @param id
//     * @return
//     */
//    @Override
//    public Question getById(UUID id) {
//        return questionRepository.findById(id).orElse(null);
//    }
//
//    /**
//     * @param question
//     * @return
//     */
//    @Override
//    public Question add(Question question) {
//
//
//        return questionRepository.save(question);
//    }
//
//    /**
//     * @param question
//     * @param token
//     * @return
//     */
//    @Override
//    public Question update(Question question, String token) {
////        UUID teacherId=question.getTeacher().getId();
//        if(StringUtil.isEmpty(token)) {
//            return null;
//        }
//
//        return questionRepository.save(question);
//
//    }
//
//    /**
//     * @param id
//     * @param token
//     * @return
//     */
//    @Override
//    public Messages remove(UUID id, String token) {
//        return null;
//    }
//
//    /**
//     * @param id
//     * @param token
//     * @return
//     */
//    @Override
//    public Question addOption(UUID id, String token) {
//        return null;
//    }
//
//    /**
//     * @param id
//     * @param token
//     * @return
//     */
//    @Override
//    public Question removeOption(UUID id, String token) {
//        return null;
//    }
//}
